home *** CD-ROM | disk | FTP | other *** search
- //***********************************************************************
- //
- // MyWordView.cpp
- //
- //***********************************************************************
-
- #include <afxwin.h>
- #include <afxcmn.h>
- #include <afxrich.h>
- #include "Resource.h"
- #include "StyleBar.h"
- #include "MainFrame.h"
- #include "MyWordView.h"
-
- IMPLEMENT_DYNCREATE (CWordView, CRichEditView)
-
- BEGIN_MESSAGE_MAP (CWordView, CRichEditView)
- ON_COMMAND (ID_CHAR_BOLD, OnCharBold)
- ON_COMMAND (ID_CHAR_ITALIC, OnCharItalic)
- ON_COMMAND (ID_CHAR_UNDERLINE, OnCharUnderline)
- ON_COMMAND (ID_PARA_LEFT, OnParaLeft)
- ON_COMMAND (ID_PARA_CENTER, OnParaCenter)
- ON_COMMAND (ID_PARA_RIGHT, OnParaRight)
- ON_UPDATE_COMMAND_UI (ID_CHAR_BOLD, OnUpdateCharBoldUI)
- ON_UPDATE_COMMAND_UI (ID_CHAR_ITALIC, OnUpdateCharItalicUI)
- ON_UPDATE_COMMAND_UI (ID_CHAR_UNDERLINE, OnUpdateCharUnderlineUI)
- ON_UPDATE_COMMAND_UI (ID_PARA_LEFT, OnUpdateParaLeftUI)
- ON_UPDATE_COMMAND_UI (ID_PARA_CENTER, OnUpdateParaCenterUI)
- ON_UPDATE_COMMAND_UI (ID_PARA_RIGHT, OnUpdateParaRightUI)
- ON_UPDATE_COMMAND_UI (ID_INDICATOR_LINE, OnUpdateLineNumber)
- END_MESSAGE_MAP ()
-
- void CWordView::OnCharBold ()
- {
- CHARFORMAT cf;
- cf = GetCharFormatSelection ();
-
- if (!(cf.dwMask & CFM_BOLD) || !(cf.dwEffects & CFE_BOLD))
- cf.dwEffects = CFE_BOLD;
- else
- cf.dwEffects = 0;
-
- cf.dwMask = CFM_BOLD;
- SetCharFormat (cf);
- }
-
- void CWordView::OnCharItalic ()
- {
- CHARFORMAT cf;
- cf = GetCharFormatSelection ();
-
- if (!(cf.dwMask & CFM_ITALIC) || !(cf.dwEffects & CFE_ITALIC))
- cf.dwEffects = CFE_ITALIC;
- else
- cf.dwEffects = 0;
-
- cf.dwMask = CFM_ITALIC;
- SetCharFormat (cf);
- }
-
- void CWordView::OnCharUnderline ()
- {
- CHARFORMAT cf;
- cf = GetCharFormatSelection ();
-
- if (!(cf.dwMask & CFM_UNDERLINE) || !(cf.dwEffects & CFE_UNDERLINE))
- cf.dwEffects = CFE_UNDERLINE;
- else
- cf.dwEffects = 0;
-
- cf.dwMask = CFM_UNDERLINE;
- SetCharFormat (cf);
- }
-
- void CWordView::OnParaLeft ()
- {
- OnParaAlign (PFA_LEFT);
- }
-
- void CWordView::OnParaCenter ()
- {
- OnParaAlign (PFA_CENTER);
- }
-
- void CWordView::OnParaRight ()
- {
- OnParaAlign (PFA_RIGHT);
- }
-
- void CWordView::OnUpdateCharBoldUI (CCmdUI* pCmdUI)
- {
- OnUpdateCharEffect (pCmdUI, CFM_BOLD, CFE_BOLD);
- }
-
- void CWordView::OnUpdateCharItalicUI (CCmdUI* pCmdUI)
- {
- OnUpdateCharEffect (pCmdUI, CFM_ITALIC, CFE_ITALIC);
- }
-
- void CWordView::OnUpdateCharUnderlineUI (CCmdUI* pCmdUI)
- {
- OnUpdateCharEffect (pCmdUI, CFM_UNDERLINE, CFE_UNDERLINE);
- }
-
- void CWordView::OnUpdateParaLeftUI (CCmdUI* pCmdUI)
- {
- OnUpdateParaAlign (pCmdUI, PFA_LEFT);
- }
-
- void CWordView::OnUpdateParaCenterUI (CCmdUI* pCmdUI)
- {
- OnUpdateParaAlign (pCmdUI, PFA_CENTER);
- }
-
- void CWordView::OnUpdateParaRightUI (CCmdUI* pCmdUI)
- {
- OnUpdateParaAlign (pCmdUI, PFA_RIGHT);
- }
-
- void CWordView::OnUpdateLineNumber (CCmdUI* pCmdUI)
- {
- int nLine = GetRichEditCtrl ().LineFromChar (-1) + 1;
-
- CString string;
- string.Format ("Line %d", nLine);
- pCmdUI->Enable (TRUE);
- pCmdUI->SetText (string);
- }
-
- void CWordView::ChangeFont (LPCSTR pszFaceName)
- {
- CHARFORMAT cf;
- cf.cbSize = sizeof (CHARFORMAT);
- cf.dwMask = CFM_FACE;
- ::lstrcpy (cf.szFaceName, pszFaceName);
- SetCharFormat (cf);
- }
-
- void CWordView::ChangeFontSize (int nSize)
- {
- CHARFORMAT cf;
- cf.cbSize = sizeof (CHARFORMAT);
- cf.dwMask = CFM_SIZE;
- cf.yHeight = nSize;
- SetCharFormat (cf);
- }
-
- void CWordView::GetFontInfo (LPSTR pszFaceName, int& nSize)
- {
- CHARFORMAT cf = GetCharFormatSelection ();
- ::lstrcpy (pszFaceName, cf.dwMask & CFM_FACE ? cf.szFaceName : "");
- nSize = cf.dwMask & CFM_SIZE ? cf.yHeight : -1;
- }
-
-